package ms.platform.dict.dao;

import java.util.List;
import java.util.Map;

import ms.platform.dict.model.DictModel;

public interface DictDao {

	List<DictModel> queryDictListByCondition(Map<String, Object> map);

	Integer queryDictCount(Map<String, Object> map);

	void deleteById(Integer id);

	void insert(DictModel dict);

	DictModel queryDictById(Integer id);

	void update(DictModel dict);

	void deleteGroupById(DictModel dict);

	DictModel queryGroupCodeByName(String group_code);
	
	public List<DictModel> queryGroupCode(Map<String, Object> map);
	
	public DictModel findDictByType(String dictType);
	
	public List<DictModel> getDictByParentId(Integer parentId);
	
	
	/**
	 * 根据父节点的字典编码查询子节点数据(只包含字典编码和字典名称)
	 */
	public List<DictModel> queryChildByParentDictCode(Map<String, Object> map);

	void updateStatus(DictModel dict);

	DictModel queryByStatus(String string);

	List<DictModel> queryByParentId(int parentId);

	DictModel queryByDictCode(String dictCode);
	
	/**
	 * 方法描述：根据产品id查询产品投保人与被投保人的关系列表
	 */
	List<DictModel> queryDictCodeByProductId(Map<String, Object> map);

	DictModel queryByDictCodeAndInsuredRelation(Map<String, Object> map);
	
	List<DictModel> selectDictListByDictCode(Map<String,Object> map);
	/**
	 * 根据字典编码及父节点编码查询字典数据项详细信息
	 * @param map
	 * @return
	 */
	List<DictModel> selectDictByDcAndPc(Map<String,Object> map);

	DictModel queryByDictNameAndInsuredRelation(Map<String, Object> map);
	
	List<DictModel> selectDictListByCode(Map<String, Object> map);
	
	List<DictModel> queryDictListByCode(Map<String, Object> map);
	
	DictModel queryDictByDictCode(Map<String, Object> map);
}
